/**
 * 
 */
package tur.br.moradadosol.control;

import tur.br.moradadosol.dao.DAOFactory;
import tur.br.moradadosol.model.Pesquisa;
import tur.br.moradadosol.util.RandomString;

/**
 * @author alex
 *
 */
public class PesquisaControl {

	public String gerarNovaPesquisa() throws Exception {
		//gerar a chave
		String key = RandomString.randomAlphabetic(10);
		
		//gerar registro da pesquisa
		DAOFactory.getDAOFactory().getPesquisaDAO().novoRegistro(key);
		
		//retornar a chave 
		return key;
	}
	
	public void responder(Pesquisa p) throws Exception {
		
		//verificar se chave existe
		Pesquisa pr = DAOFactory.getDAOFactory().getPesquisaDAO().buscar(p.getKey());
		if(pr == null) {
			//devolver mensagem para a tela... 
			throw new Exception("error.pesquisasatisfacao.invalidkey");
		} else {
			//verificar se já foi respondida
			if(pr.getDataResposta() != null) {
				throw new Exception("error.pesquisasatisfacao.respondida");
			} else {
				//se não está respondida, registrar respostas
				DAOFactory.getDAOFactory().getPesquisaDAO().responder(p);
			}
		}
	}
}
